home *** CD-ROM | disk | FTP | other *** search
- CW.COM
-
- 08-12-87
-
- -----------------------------------------------------------------
- The Original Comprehensive Morse Code Training Program for the PC
- -----------------------------------------------------------------
-
- ****************************************************************
- * PLEASE UPLOAD TO YOUR LOCAL COMPUTER BULLETIN BOARD SYSTEMS! *
- ****************************************************************
-
- ****************************************************************
- * PLEASE LET ME KNOW IF YOU PASS YOUR CODE TEST USING CW ! *
- ****************************************************************
-
- I. Background
-
- A. Version
-
- This documentation is updated to version 3.12 of the program.
-
- B. Purpose
-
- CW was written to help prospective hams overcome what many perceive
- to be the biggest obstacle to obtaining an amateur radio license--learning
- the Morse code. There are numerous programs available in the public domain
- which send Morse code via a PC's speaker, but most are very limited and are
- written in BASIC, which requires a clumsy interpreter. CW seeks to provide
- a comprehensive program which provides several modes of learning and
- practicing the code. The best features of other programs are included and
- many new features have been added to those previously available.
-
- C. The Author
-
- The author is a registered patent attorney working with Rockwell
- International Corporation in Cedar Rapids, IA (the old Collins Radio Company).
- He can be contacted on Compuserve (ID No.: 71016,1355), or GEnie (Address:
- L.MURRAH), or by mail at the following address:
-
- 10 Cottage Grove Woods, S.E.
- Cedar Rapids, IA 52403
-
- The home telephone number is (319) 365-6530.
-
- D. The Software
-
- CW is written in Turbo Pascal. The development of CW began in early
- 1986 and has gone through a number of versions. New versions will be released
- as features are added and corrections are made to previously released versions.
-
- CWnnn.ARC contains the following files:
-
- Name Description Needed to Run?
- ---- ----------- --------------
- ANTENNAS.CW - Names of antennas for QSO feature Yes
- CITIES.CW - Names of cities for QSO feature Yes
- CW.COM - the main executable file Yes
- CW.CFG - the CW configuration file Yes
- CW.DOC - this documentation file No
- CWGUIDE.TXT - A guide to CW prepared by a user No
- FEEDBACK.FRM - Form for user feedback to author (Please!) No
- GROUPS.CW - Code groups for Learn feature Yes
- GROUP.1 - Alternate code group for Learn feature No
- GROUP.2 - Alternate code group for Learn feature No
- HAMRADIO.INF - A brief file on ham radio No
- JOBS.CW - Name of occupations for QSO feature Yes
- MYGROUP.CW - User defined group for Learn feature Yes
- NAMES.CW - Names of operators for QSO feature Yes
- PAIRS.CW - Character pairings for Learn feature Yes
- PROBLEM.RPT - Problem report form for special problems No
- README.1ST - Important information about calibration No
- RIGS.CW - Names of radio equipment for QSO feature Yes
- WORDS.CW - Word list for Receive feature Yes
-
- E. Latest Version
-
- The latest version of CW can usually be found on GEnie or Compuserve.
- The latest version can also be obtained by sending a FORMATTED diskette and a
- stamped, self-addressed diskette mailer to the author at the above address.
-
- Although I do not operate an active bulletin board system, I do have
- RBBS software which I can load to permit downloading CW from my computer. If
- you do not have access to GEnie and would like to obtain the latest version of
- the program this way, please give me a call on weekends or during early evening
- hours, and I will set it up for you.
-
- II. Equipment and Program Configuration
-
- A. General
-
- CW can be run on the IBM-PC and compatibles having 192K of memory and
- one floppy disk drive. A hard disk is not required, although you will find
- that a hard disk will enhance operation of this and any other program.
-
- Your CONFIG.SYS file should authorize at least 20 files. This can be
- done with the following statement:
-
- FILES = 20
-
- CONFIG.SYS may be edited using a word processor or program editor.
-
- B. Computer Clock Speed
-
- The clock speed for your computer will affect the code speed.
- Therefore, you should calibrate CW code speed for your computer. If you
- have a multiple speed system, use CW only in the calibrated clock speed
- unless you wish to recalibrate.
-
- C. Video Display Card
-
- The program was originally written for the Color Graphics Adapter.
- However, I have made changes which should permit it to work with a monochrome
- card. If you have problems with CW on a monochrome card, please send in the
- PROBLEM.RPT form.
-
- D. Memory Resident Programs
-
- Since the code speed for CW is determined by a software loop in
- to provide greater code speed accuracy, you will need to recalibrate the
- code speed if memory resident programs are used or changed. Such programs
- affect the clock operation upon which the loop is based.
-
- III. Your Right to Use CW
-
- A. License
-
- As you may have noticed I have retained the copyright in CW, primarily in
- order to control its orderly development. However, I have granted the right
- to anyone to use the program for private, non-commercial use without further
- permission from me. That is, you can copy it, use it, and share it so long as
- you do not charge any money for it.
-
- B. Contributions
-
- Several users have asked me whether I require payment of a "shareware"
- fee in order to use the program. The answer is "No"; but if you would like
- to support CW with a small contribution (say $5), we certainly would not
- refuse your generosity. It would certainly help in continuing to improve
- the program.
-
- IV. Tips on Learning the Morse Code
-
- 1. Learn the characters by sound, not by sight. Each of the characters
- has its own characteristic length and rhythm. Do not memorize the characters
- using the visual dot and dash symbols. That will slow you down!
-
- 2. Set the character speed to 13 words per minute and the send speed
- at whatever lower speed you desire. Since your ultimate goal is 13 words
- per minute, it is much easier to learn how the characters sound at that
- speed even though they are sent at a lower speed. This helps to eliminate
- the "hump" that most people experience around 10 words per minute.
-
- 3. Study every day, but if you feel you are stuck and not making
- progress, take a few days off. It's amazing how this will sometimes clear
- your head.
-
- 4. Try to copy code in you head as much as possible.
-
- 5. Get access to a ham receiver and try to copy off real transmissions
- off the air.
-
- 6. As soon as possible learn the sounds of whole words.
-
- 7. Turn on the CW <G>roups function and let it send in the background
- while you are doing something else, such as reading the paper or working on a
- construction project. Try to identify characters while doing the other
- activity. This will help your brain shift to "automatic" and will help the
- code sounds become a natural "part of the wallpaper."
-
- 8. Although the code test no longer requires that you demonstrate an
- ability to send code, you should get a code practice oscillator and practice
- your sending.
-
- 9. As soon as you pass the novice test, get a rig on the air and operate
- on the novice bands. Nothing will increase your speed and concentration as
- well as the pressure of an on-the-air contact. Don't worry about being
- perfect--the other guy is probably in the same boat as you.
-
- V. Using CW
-
- A. The Character Set
-
- Since several Morse code procedure signs are not printable as ASCII
- characters since they are a combination of two characters, special characters
- are used to represent them as follows as follows:
-
- Prosign ASCII Representation Meaning
- ------- -------------------- -------
-
- <AR> @ Over
- <SK> $ End of contact, end of message
- <AS> ! Wait, stand-by
- <KN> # Over-specified station only
-
- B. Setting Up CW
-
- 1. The Configuration File
-
- The default values for code timing, code speed, oscillator tone,
- screen graphics type, and screen colors are contained in the CW.CFG file. If
- this file is not found when the CW is first run, it will be created. The code
- speed and oscillator tone can be changed using the function keys as defined
- hereinafter any time code is being sent. The user is given the opportunity to
- save the new settings when the program is exited using the <X> command. The
- default values for code timing, screen graphics type, and screen colors can
- be changed from within CW using the <U>tilities command in the main menu.
-
- 2. Code Timing
-
- The timing of the code in CW is initially set assuming a computer
- clock speed of 4.77 MHz. If your computer runs at a different speed or uses
- background programs which steal clock cycles, you will need to use the
- <T>iming subcommand in the <U>tilities menu to change the timing factor. To
- decrease code speed increase the value of the timing factor and vice versa.
- Use the <S>peed Test option and a clock with a sweep second hand to test the
- speed resulting from a new setting. Keep changing the factor until the proper
- code speed in attained. With a clock speed of 4.77 HMz. and with no memory
- resident programs installed, the author has found that a timing factor of about
- 1075 is necessary.
-
- You should ALWAYS check the code speed for your computer before
- relying upon CW.
-
- If users who need to change the timing factor will relay the
- results to me, I will include a table for various computers and clock speeds
- in future editions of this file.
-
- 3. The Code Speed
-
- The code speed can be set at any time code is being sent using the
- function keys as follows:
-
- F1 - Decrease SEND Speed F2 - Increase SEND Speed
- F3 - Decrease CHAR Speed F4 - Increase CHAR Speed
- F5 - Decrease WORD Speed F6 - Increase WORD Speed
- F9 - Set SEND, CHAR, and WORD to Same Speed
-
- You can set the speed at which the character is sent separately
- from the overall send speed (the Farnsworth method). For example, you can
- set the send speed at a slow speed but set the characters to be sent using
- shorter dits and dahs equivalent to a much faster send speed. This makes it
- easier to increase your code speed since you will already know the sound of
- the characters at the higher speed.
-
- You can also set the word speed separately from send and character
- speed. This permits you to learn the sounds of whole words individually sent
- at high speeds but spaced at a much slower speed.
-
- The minimum code speed is 3 WPM, and the maximum is 99 WPM (good
- luck with that setting!). The send speed and character speeds are coupled so
- that the send speed will never exceed the character speed. Also in the speed
- test mode, the word speed will automatically be set to the send speed so that
- the test is valid.
-
- 4. The Oscillator Tone
-
- The oscillator tone can be set to suit your tastes at any time
- code is being sent with the function keys as follows:
-
- F7 - Decrease Speaker Tone F8 - Increase Speaker Tone
-
- The minimum tone is 400 Hz., and the maximum is 1200 Hz. The author has
- found that about 500 Hz. is optimum for sound and volume.
-
- 5. Video Type
-
- At program invocation CW will determine the color video type.
- However, this can be changed if necessary (e.g., you have two video cards
- installed) with the <V>ideo Type command. Screen colors will automatically
- be set for the selected video card.
-
- 6. Screen Colors
-
- The colors of the screen, the windows, and the highlighting can
- be set to suit your taste using the <U>tilities command and the <C>olors
- subcommand when the utilities menu window appears. The colors are
- initialized for a black on white when CW is first run.
-
- 7. Hiding the Text
-
- If you would like to hide the text so that you are not tempted to
- peek, this can be done with the F10 key at any time code is being sent. This
- can be reversed using the same key. The current status is displayed on the
- status line. With some functions the text will be hidden regardless of the
- setting of the hide subcommand. The hide function also suppresses the display
- of 'DIT' and 'DAH' in the <L>earn mode.
-
- 8. Speed Test
-
- You can check the speed at which CW sends by using the
- <U>tilities command and the <S>peed Test subcommand. Simply count the number
- of time that the word PARIS is sent in one minute, and that will be the code
- speed. You will probably need to use this command in conjunction with the
- <T>iming command to calibrate code speed if your computer runs at other than
- 4.77 MHz. or if you are running background programs which steal clock cycles.
-
- IT IS ALWAYS A GOOD IDEA TO CHECK THE CODE SPEED PRIOR TO RELYING
- UPON CW TO PREPARE YOU FOR A CODE TEST.
-
- 8. Altering the Data Files
-
- Certain of the data files may be customized to suit your desires.
- This is described more fully in connection with the <Q>SO and <W>ords function
- under the <R>eceive command.
-
- C. The CW Status Lines
-
- 1. The Message Line (Top)
-
- At all times while CW is running, the top line of the screen is
- used to identify the current function and the key necessary to abort the
- current function.
-
- 2. The Parameters Line (Bottom)
-
- Likewise, the bottom line at the bottom of the screen will display
- from left to right the code send speed in words per minute, the code character
- speed in words per minute, the oscillator tone frequency in cycles per second,
- and whether or not the text is displayed.
-
- D. The ESC Key
-
- At any time that code is being sent, the current operation can be
- aborted by pressing the ESC key. A positive indication is given by a beep
- sound and a large right pointer is printed on the screen. In most functions
- it is necessary to press another key to continue as indicated on the message
- line.
-
- E. The Function Keys
-
- The function keys are active any time code is being sent. They are
- defined as follows:
-
- F1 - Decrease SEND Speed F2 - Increase SEND Speed
- F3 - Decrease CHAR Speed F4 - Increase CHAR Speed
- F5 - Decrease WORD Speed F6 - Increase WORD Speed
- F7 - Decrease Speaker Tone F8 - Increase Speaker Tone
- F9 - Set SEND, CHAR, and WORD to Same Speed
- F10 - Hide/Unhide Text
-
- F. Starting Out--The <L>earn Command
-
- To help you learn the Morse code, CW provides a <L>earn function, which
- presents the characters in sound-related groups.
-
- It is recommended that the <L>earn subcommands be used in the same
- as the selections are numbered.
-
- 1. The Basic Code Sounds--Dits and Dahs
-
- The <1> selection teaches you the basic DIT (short) and DAH (long)
- sounds. After sending DITS and DAHS in various formats, you are asked to
- identify randomly presented DITS and DAHS using the '1' key for DITS and the
- '2' key for DAHS.
-
- 2. Character Length
-
- The <2> selection sends a character and asks you how many total
- sound elements (DITS and DAHS) are included in the character. This forces you
- to listen for the LENGTH of a character, which is a very important character
- attribute.
-
- 3. Character Pattern
-
- The <3> selection sends a character and asks you how many DAHS are
- included in the character. Since DAHS are the dominant factor in determining
- the overall sound pattern or rhythm of a character, this forces you to
- concentrate on this character attribute.
-
- 4. The Character Sounds
-
- The <4> selection combines the previously learned DITS and DAHS
- into complete character sounds. The characters are paired with
- similar sounds in a series of increasingly harder steps, and the user is asked
- to identify the characters in each step randomly chosen. The user should
- start with step 1 and learn to distinguish the characters in each step before
- continuing on to the next higher step. After all 59 steps have been mastered,
- the user should be ready to start with the <G>roups and <L>evels commands.
-
- 5. Character Groups
-
- The <5> selection lets you study each character group separately.
- The characters from the selected group are presented randomly, and you are
- asked to identify them.
-
- The groups used in CW are those used in the ARRL publication "Tune
- in the World with Ham Radio". If you are using materials having a different
- grouping, you can change the groups by altering the contents of the file named
- GROUPS.CW using a text editor or word processor (you must use the ASCII store
- mode so that nothing but printable ASCII characters are stored in the file.
- The groups which are initially installed are included in the file GROUPS.1,
- and a second grouping used in older ARRL code booklets are included in
- GROUPS.2. To use either of these groups, just delete the current GROUPS.CW
- file and copy either GROUPS.1 or GROUPS.2 to the filename GROUPS.CW. Please
- note that only the letters and numbers can be changed. Punctuation and prosigns
- are automatically added as the last two group.
-
- If the display of 'DIT' and 'DAH' prove to be distracting in
- either this or the <L>evels command which follows, they can be suppressed by
- using the F10 key any time code is being sent.
-
- 6. Character Learning Levels
-
- The <6> selection permits you to study the various groups in a
- progressive manner starting with the simple Level 1 sounds and adding
- characters with each level. Each level is simply a combination of groups 1
- as defined above through the group whose number is the same as the level
- number. After the new characters for each level are presented, you are asked
- to identify randomly presented characters from the level selected.
-
- 7. User Defined Group
-
- If you are having a particularly hard time with several characters,
- you can create your own special character group and study it using the
- <M>y Group subcommand. The special group can be created by editing the file
- MYGROUP.CW with a word processor in the ASCII output mode or an editor. The
- file can have only ONE line and is limited to 10 characters!
-
- 6. Viewing the Character Steps and Groups
-
- The character steps and groups used in the preceding subcommands
- may be displayed using the <V>iew subcommand.
-
- G. Receiving Code
-
- Once you have mastered the character sounds, you can work on increasing
- your speed. CW provides several ways to do this:
-
- 1. The <G>roups Command
-
- One of the classic ways of practicing code reception is sending
- five letter groups of random characters. The <G>roups command does this.
-
- 2. The <W>ords Command
-
- If you would rather work with real words, use this command. In
- order to promote recognition of whole words, the words are not printed on the
- screen until the entire word has been sent in code.
-
- The words sent by this command can be changed by editing the file
- WORDS.CW with a word processor. Make sure each word is on a separate line
- followed by a carriage return and that there are no blank lines after the last
- entry. The maximum number of words which may be entered into the file is 500.
- Each word may be up to 10 characters in length.
-
- 3. The <Q>SO Command
-
- Use this command if you would like to copy a simulated QSO (a
- radio contact). A standard pattern is used, but the call signs, names, etc.,
- are randomly selected from a list. The call signs are randomly selected from
- all the possible call signs. This means that some calls signs which have not
- yet been issued will be used.
-
- The names, antenna types, city names, and rig types can be changed
- to reflect your desires by editing the files ANTENNAS.CW, NAMES.CW, CITIES.CW,
- RIGS.CW, and JOBS.CW with a word processor. Simply place your entry on a
- single line followed by a carriage return. Make sure there are no blank lines
- in the middle of the file or after the last entry. The maximum number and
- length of the entries are as follows:
-
- File Max. No. Entries Max. Length Each Entry
- ---- ---------------- ----------------------
-
- ANTENNAS.CW 50 15
- CITIES.CW 200 15
- JOBS.CW 100 20
- NAMES.CW 200 10
- RIGS.CW 100 15
-
- If the QSO is sent in the text hide mode, the user is given the
- opportunity to review the QSO before exiting.
-
- 4. The <E>nter Command
-
- With this command you can have a friend enter test messages via the
- keyboard, and you can attempt to copy it without looking at the screen. The
- maximum length of the message is 255 characters. This command differs from
- the <K>eyboard Send command in that nothing is sent until RETURN is pressed.
-
- 5. The <D>isk Command
-
- This command sends the contents of a disk text file in Morse code.
- You can practice by having someone create a text file of unknown content.
- Another idea is to exchange disks with a friend who is also studying the code
- and carry on a 'disk QSO' between the two of you.
-
- The disk file required for this command can be any ASCII text file
- created with a text editor or a word processor. If a word processor is used,
- make sure it is in the ASCII store mode so that only ASCII characters are
- stored in the file. Unprintable characters are ignored, but a time delay for
- the missing character is inserted, which slows down the send speed. To
- familiarize yourself with the use of this command, you can enter the name of
- the words file (WORDS.CW) or any of the other data files having the CW
- extension, although this will not provide very useful code practice.
-
- 6. The <Z>oom Command
-
- This command lets the user receive 5 character code groups at
- increasing speeds. The user is asked to enter the start speed, the end speed,
- and the number of groups to be sent at each speed. After the specified number
- of groups is sent, the code speed is increased by 1 WPM until the end speed is
- reached.
-
- H. Sending Code
-
- 1. The <K>eyboard Send Command
-
- You may wish simply to select enter individual keys to hear how
- they sound. This is the purpose of the <K>eyboard send function. You can
- type ahead of the CW sender by 80 characters maximum. Unlike the <E>nter
- command, you do not have to press RETURN to start sending characters.
-
- 2. The <M>anual Key Command
-
- You may also wish to practice your "fist", i.e., your manual
- sending ability. This can be done by using the ALT key as a telegraph
- key. You may not wish to overuse this command due to the possible wear on
- the ALT key.
-
- I. The <T>est Command
-
- 1. The <F>CC Test Command
-
- This command permits you to take a simulated code test much
- like the one you would take when you sit for your license exam. The test
- is based upon the simulated contact used for the <Q>SO command discussed
- above. The number of questions asked does not necessarily correspond to
- the actual number on the test. Recommendations for increasing the realism of
- this function are solicited from users.
-
- After the test has been taken, the user is given the opportunity
- review the text of the test QSO.
-
- 2. <K>eyboard Receive Test
-
- This command lets you test your approximate receive speed. The
- computer will send a character and wait for you to type in the correct key.
- When you exit this function using the ESC key, the computer will print out
- your the approximate send speed, your approximate receive speed, and your
- accuracy rate. This command can also be used to learn to copy code on a
- keyboard. Although you will not be tested on a keyboard, it is the fastest
- way to copy code and is the methos used by all the military services.
-
- VI. We Need Your Feedback and Problem Reports
-
- A. Feedback
-
- As I continue to improve CW, it is helpful for me to have you feedback
- about what you like about CW, what you don't like about it, any bugs or
- cosmetic defects you have discovered, what you would like to see changed or
- added, etc. Please take the time to fill out and mail the form in the file
- FEEDBACK.FRM to me. It would be much appreciated.
-
- If you would like to have the latest version of CW, please send a
- formatted diskette and a self-addressed, stamped diskette mailer along with
- your feedback form.
-
- I particularly need feedback from those who use CW to train novices.
- If I know what your needs are, I will endeavor to add those features to CW.
-
- B. Problems
-
- If you encounter severe problems in running CW, please complete and
- return PROBLEM.RPT to me.
-
- C. Send Me Your Good News!
-
- If CW helps you obtain your license or upgrade to a higher class of
- license, I would love to hear about it! Please take the time to drop me a
- and let me hear your good news!
-
- VI. Timing Calculations
-
- A. Element Lengths
-
- 1. One bit is defined as one dot time.
-
- 2. Thus the code elements are defined as follows:
-
- dot = 1 bit
- dash = 3 bits
- space between dots and dashes = 1 bit
- space between characters = 3 bits
- space between words = 7 bits
-
- B. Speed Calculations in General
-
- 1. The word PARIS is used as the standard word, i.e. the code
- speed is the number of times PARIS is sent in one minute.
-
- 2. PARIS has 31 bits, or an average of 6.2 bits per character.
-
- C. Speed Calculations for keyboard test function.
-
- 1. The average number of bits per character in all the numbers and
- letters is 9.83.
-
- 2. The average character takes 9.83/6.2=1.58 times as long to send
- as the average character in the standard word.
-
- 3. A word is assumed to be 5 characters in length.
-
- 4. A 7 bit wordspace is added for every 5 characters --
- 0.71 character lengths.
-
- 5. Thus, wpm can be estimated as recv_speed*60/5*1.58.
-
- 8. Spaces between characters are ignored.
-
- VII. Join the ARRL
-
- If you are a prospective ham, you may wish to join the American Radio
- League, which is the official organization representing amateur radio
- in the United States. The ARRL publishes a monthly magazine called QST and
- provides many helpful services and publications. The address is:
-
- American Radio Relay League
- 225 Main Street
- Newington, CT 06111
-
-
- VIII. Troubleshooting
-
- A. Code Speed Is Too Fast or Too Slow
-
- Calibrate the program as described hereinabove and in the README.1ST
- file. For best results you should disable memory resident programs since they
- steal clock cycles which CW depends upon for proper timing.
-
- B. 'File Not Found '
-
- 1. Make sure all the required files listed early in this
- documentation are on the program disk.
-
- 2. Make sure the program disk is in the currently active drive
- when run.
-
- 3. Make sure that CW.CFG is present and is not shown with 0 bytes.
- The latter is caused if the program is rebooted while setting program
- parameters or using certain utilities. If this happens, erase CW.CFG and start
- the program again. You will be forced to reconfigure CW unless you have saved
- your current configuration in a backup file.
-
- C. Program Works, but No Sound
-
- 1. Try another program which makes sounds or plays music. If that
- program does not work, then the problem is in your system. If you do not have
- such a program, check your distribution disk for a BASIC music program which
- you can run using BASICA.
-
- 2. Apparently some IBM clones do not fully implement the speaker
- output and will make bell sounds (beep) only. If you have such a machine, CW
- will not work on this type of system.
-
-
-
-
-
-
-
-
-
-